Non-volatile memory such as electrically programmable read-only memory (EPROM) and electrically-erasable programmable read-only memory (EEPROM) may be used for storing data in computer systems. EPROM and EEPROM comprise a large number of memory cells having electrically isolated gates, referred to as floating gates. Data is stored in the memory cells in the form of charge on the floating gates. Charge is transported to or removed from the floating gates by program and erase operations, respectively.
Another type of non-volatile memory is flash memory. Flash memory is a derivative of EPROM and EEPROM. Although flash memory shares many characteristics with EPROM and EEPROM, the current generation of flash memory differs in that erase operations are done in blocks.
A typical flash memory comprises a memory array which includes a large number of memory cells arranged in row and column fashion. Each of the memory cells includes a floating gate field-effect transistor capable of holding a charge. The cells are usually grouped into blocks. Each of the cells within a block can be electrically programmed in a random basis by charging the floating gate. The charge can be removed from the floating gate by a block erase operation. The data in a cell is determined by the presence or absence of the charge in the floating gate.
Flash memories have the potential of replacing hard storage disk drives in computer systems. The advantages would be replacing a complex and delicate mechanical system with a rugged and easily portable small solid-state non-volatile memory system. There is also the possibility that given their very high potential densities and given their higher speed of operation, particularity in the erase operation, that flash memories might be used to replace DRAMs. Flash memories might then have the ability to fill all memory needs in current and/or future computer systems.
As mentioned above, flash memory devices utilize an array of cells that store information through the use of a charge on a floating gate. Under normal operating conditions, the flash memory device may be configured to periodically refresh the charge stored on the cells. In one example, the flash memory device may be configured to refresh the cells once per year. However, environmental stress, such as high temperatures, may cause the stored charge to leak out faster. That is, as a memory cell is exposed to high temperatures, the charge on the memory cell may leak out at an accelerated rate. If the charge leakage is high enough, the data in the memory array can be corrupted.
Thus, a system utilizing a flash memory device may desire to know if the flash memory device has experienced such stress in order to trigger a refresh of the cells in the flash memory device to prevent data loss. During a refresh, the contents of each memory cell may be read, corrected if necessary, and re-written to the memory cell so that the charge level is reset. Thus, when a flash memory device is utilized in an environment where high temperatures will be encountered, such as in automotive or IoT (internet of things) applications, it may be desirable to detect a stress event, such as when the device is exposed to a high temperature, in order to know when to refresh the flash memory.